The present invention relates generally to networks, and more particularly, to a method for regulating the usage of resources in such networks.
Networks, such as local area networks (LANs), are used for interconnecting many different devices, such as computers and peripherals, to allow users to communicate with one another. Further, these networks are used to allow users to share access to the connected peripherals. The LAN may be a heterogeneous LAN in which many different communication protocols are carried on a single Ethernet or token-ring medium. Examples of different protocols are IPX, which is typically used by DOS-based PCs and UDP/IP, which is typically used by UNIX-based work stations. Each type of device may be adapted through software to communicate using multiple different protocols.
A peripheral also can include software. The software is in the form of multiple protocol stack modules that allow the peripheral to communicate using multiple protocols in order to be shared on a heterogeneous LAN. A protocol stack is a software module that processes packets of data which are received from or transmitted to the LAN using the corresponding protocol. The protocol stacks in the associated lower-level software for network communications are typically stored and executed on a network interface device that may be embedded in or attached to the peripheral. The network interface device serves as an interface which allows the peripheral to communicate with other network devices via the LAN.
Due to the large number of users and devices associated with the LAN, various potentially unrelated devices (e.g., spawned by separate applications) compete for finite system resources, such as memory allocation space, disk access, and processor time. A device typically requests usage of a resource from the system's operating system. If the resource is not being used, the operating system grants access. In some networking environments, the device is allowed to use and hold the resource indefinitely. This can block other processes access to the same resource. This results in delays in or a potential catastrophic failure of the system. This may occur, for example, when one device is more important and/or urgent than another. For example, the industrial process control of a nuclear reactor may be more important than down loading information from the Internet.
Many techniques have been developed to regulate computer resource usage in a network system. For example, a maximum time limit for the usage of a given resource may be used. One drawback to this technique is that a specific device may require more than the specific maximum time limit to execute a specific resource.
Another known technique is to fix a process time that is substantially the same for each resource. Again, this technique has certain drawbacks that include not allowing a process to execute a resource for an extended period of time to perform an important function.